﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace SEG.Model
{
    public partial class Permiso : IDataErrorInfo
    {

        public String AccionesString
        {
            get
            {
                StringBuilder str = new StringBuilder();
                foreach (var item in Accion)
                {
                    str.AppendFormat("{0}, ", item.Descripcion);
                }
                return str.ToString().TrimEnd(',', ' ');
            }
        }

        public Permiso()
            : base()
        {
            this.ID_Permiso = Guid.NewGuid();
        }

        #region IDataErrorInfo Members

        public string Error
        {
            get { throw new NotImplementedException(); }
        }

        public string this[string columnName]
        {
            get
            {
                String error = null;

                if (columnName == "Nombre" && String.IsNullOrEmpty(this.Nombre))
                {
                    error = "El campo Nombre es de ingreso obligatorio.";
                }
                else if (columnName == "Formulario" && this.Formulario == null)
                {
                    error = "El campo Formulario es de ingreso obligatorio.";
                }
                else if (columnName == "Accion" && this.Accion.Count == 0)
                {
                    error = "Debe seleccionar al menos una Acción.";
                }

                return error;
            }
        }

        #endregion
    }
}
